package com.ruoyi.network.model.vo;

import com.ruoyi.network.common.validation.UpdateGroupValidation;
import com.ruoyi.network.enums.ExpiryStatusEnum;
import com.ruoyi.network.enums.UasgeStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @author Administrator
 */
@Data
@ApiModel(description = "IP地址结构请求参数VO", value = "IP地址结构请求参数VO")
public class IpAddressRequestVO implements Serializable {
    @ApiModelProperty(value = "数据ID", example = "1")
    @NotNull(message = "数据ID不能为空", groups = {UpdateGroupValidation.class})
    private Long id;
    /**
     * 主机名称
     */
    @ApiModelProperty(value = "主机名称", example = "1")
    @NotBlank(message = "主机名称不能为空")
    private String hostname;
    /**
     * 所属IP段
     */
    @ApiModelProperty(value = "所属IP段", example = "1")
    @NotNull(message = "所属IP段不能为空")
    private Long rangeId;
    /**
     * 主机名称
     */
    @ApiModelProperty(value = "IP地址", example = "1")
    @NotBlank(message = "IP地址不能为空")
    private String ipValue;
    /**
     * MAC地址
     */
    @ApiModelProperty(value = "MAC地址", example = "1")
    @NotBlank(message = "MAC地址不能为空")
    private String macAddress;

    /**
     * 业务ID
     */
    @ApiModelProperty(value = "业务ID", example = "1")
    private Long usageBizId;

    /**
     * 使用人员
     */
    @ApiModelProperty(value = "使用人员", example = "1")
    @NotNull(message = "使用人员不能为空")
    private Long usageUserId;

    /**
     * 使用状态
     */
    @ApiModelProperty(value = "使用状态", example = "1")
    @NotNull(message = "使用状态不能为空")
    private UasgeStatusEnum usageStatus;

    /**
     * 时效状态
     */
    @ApiModelProperty(value = "时效状态", example = "1")
    @NotNull(message = "时效状态不能为空")
    private ExpiryStatusEnum expiryStatus;
}
